iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0
Modern Web

telegram開發筆記系列 第 6

[06] 回音機器人

  • 分享至 

  • xImage
  •  

開始實做發給 telegram 的回覆

telegram 使用 axios 來要求 telegram 傳送訊息

先安裝吧

npm i axios --save

修改 main.js 的檔案

const { sendBotMessage } = require("./telegramItem");

function receiveTelegram(data) {
  console.log(data);
  sendBotMessage({
    chat_id : data.message.chat.id,
    method: "sendMessage",
    text: data.message.text
  })
}

module.exports = {
  receiveTelegram
}

實作 telegramItem.js 的功能

const axios = require("axios");
/**
 * @description 發送訊息,請換成自己的機器人 token
 *
 * @param {object} data telegram bot api format
 */
function sendBotMessage(data) {
  const url =
    "https://api.telegram.org/bot" +
    "1978609847:AAHg8e-V_bNx78PCZok8uYzN8BYwlRScfgA" +
    "/";
  // 如果他是 text 訊息的話就這樣回聲
  if (data.text) {
    axios({
      url,
      method: "post",
      data,
    })
      .then((data) => {
        console.log("Send Telegram:");
        console.log(data.data);
      })
      .catch((e) => {
        console.log("Send Telegram: Error:");
        console.log(e);
      });
  }
}

module.exports = {
  sendBotMessage,
};

打開 telegram 對你開啟的機器人對話就會開始自動回覆了

目前只能回應單個 text 的訊息

其他貼圖圖面等等都不行

但也請試著傳送各種類型的訊息

看看 console 的各種訊息

才看得懂下一篇

day06


上一篇
[05] 掛telegram機器人的hook
下一篇
[07] telegram 回聲各種訊息種類
系列文
telegram開發筆記18
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言